1. Technical Field
The present disclosure relates generally to a system and methods for creating and loading an application, more particularly, creating and loading an application and its associated modules.
2. Description of the Related Art
When developing multi-functional applications such as, for example, a web application, it is often desirable to delegate and divide the development of the various functionalities into projects for creation by one or more development groups within and/or outside of the company. By breaking down the application into multiple projects, different development groups can work in parallel, thereby resulting in the shortening of the development time of the application. This programming technique is often referred to as modular programming wherein the different functionalities are developed as separate or independent modules.
In typical applications, all of the functionality of the application is defined within its set of components, and adding any new functionality to the application requires the code of these components to be modified. A few drawbacks with this approach are that new functionality cannot be easily added at any time, and adding a new functionality requires access to and modification of the code of these components. When a developer delivers the application to a customer, the customer may not be able to easily add a new functionality without extensive modification, programming or recompilation to the code of the already-developed application.
Accordingly, there exists a need for a method of adding a new module to an existing application without having to modify any of the existing modules and/or the framework of the application to which the new module will be loaded. There also exists a need for a method of dynamically loading one or more modules to the application when the user accesses or navigates to the application.